_____ _    _         _____  _____ _   _          _____   _____  
    / ____| |  | |  /\   |  __ \|_   _| \ | |   /\   / _ \ \ / / _ \ 
   | |  __| |  | | /  \  | |__) | | | |  \| |  /  \ | | | \ V / | | |
   | | |_ | |  | |/ /\ \ |  _  /  | | | . ` | / /\ \| | | |> <| | | |
   | |__| | |__| / ____ \| | \ \ _| |_| |\  |/ ____ \ |_| / . \ |_| |
    \_____|\____/_/    \_\_|  \_\_____|_| \_/_/    \_\___/_/ \_\___/ 
                                                                     
                    ./Guarina0x0
Titulo: TryHackMe - IDE
Fecha: 21-09-2021
Descripcion: Enumeracion - FTP - CVE - VSFTPD

TryHackMe - IDE Writeup

## Ping:

ping -c1 10.10.133.157

Mediante el comando ping vamos a trazar una ruta ICMP para ver si la maquina esta activa y ante que tipo de sistema operativo estamos

Podemos ver que la respuesta del ttl es 63 , el TTL en maquinas Linux es 64 y en maquinas Windows 128 , en este caso es 63 porque pasa por un nodo intermediario.

## Enumeracion :

Ahora vamos a proceder a ver que servicios tiene esta maquina abiertos para ello vamos a realizar una enumeracion de puertos:

Mediante el parametro --min-rate 5000 va a emitir paquetes no mas lento que 5000 paquetes por segundo

  • Puerto 21 FTP
  • Puerto 22 SSH
  • Puerto 80 HTTP
  • Puerto 62337 Desconocido
  • Ahora vamos aplicar una enumeracion de puertos mas exhaustiva , aplicando scripts basicos para determinar la version y servicio que corren en los puertos

    Nos reporta que tenemos el servicio ftp abierto con un usuario anonimo , por lo que vamos listar el contenido

    Si listamos todo el contenido , vemos algo que no es normal vemos directorios ocultos muy raros , por lo que opte por descargar todos esos ficheros mediante el comando wget

    Le proporcionamos el usuario anonymous y sin contraseña y que descargue todo lo que contenga el servicio ftp

    Dentro del directorio ... , encontramos un fichero llamado - que contiene informacion

    Dice que ha cambiado la contraseña y que use la de por defecto , tenemos 2 principales usuarios potenciales en el sistema "John" y "Drac"

    ## Reconocimiento Web

    Como tenemos el puerto 80 del servicio web abierto , vamos a listar su contenido , de primeras nos reporta el tipico index de Apache

    Podemos realizar fuzzing pero no vamos a encontrar nada , por lo que vamos abrir el puerto 62337 y a ver que contiene

    De primeras vemos un panel que nos pide credenciales de usuario , nosotros disponemos de dos usuarios potenciales pero no disponemos de contraseña

    Si tiramos de la herramienta WhatWeb para ver mas informacion , vamos a ver como un gestor de contenido llamado Codiad

    Si buscamos algun exploit si existe para la version Codiad 2.8.4 , vamos a ver que hay 3 exploit de RCE pero primero necesitamos tener credenciales

    Por lo que voy aprobar credenciales basicas , ya que en el texto que nos encontramos en el ftp decia que era como una pass facil , por lo que probando con el usuario john y probe un par de contraseñas y al final la password correcta era "password"

    ## Explotacion Codiad 2.8.4

    Mediante searchsploit vamos a proceder a descargar el exploit

    Y vamos a ejecutar el script para ver que parametros necesitamos para ejecutar el exploit

    Nos pide que le proporcionemos : La URL + USUARIO (John) + Contraseña (password) + (IP ATACANTE) + (Puerto Atacante)

    Ahora nos pide que ejecutemos esos dos comandos y cuando este ejecutandose , pulsemos Y

    Recibimos una peticion y nos abre una shell reversa en el puerto 444

    ## Escalada de Privilegios

    Ahora vamos a ir listando el sistema en busca de procesos , capabilities , ficheros SUID , para poder escalar a Root

    Podemos ver varios ficheros ocultos si vamos listandolos , encontramos una contraseña del usuario drac para mysql en el bash_history

    Si intentamos acceder a mysql , vamos a ver que no esta instalado en la maquina

    Podemos intentar cambiar al usuario drac , proporcionandole la contraseña que hemos obtenido

    Una vez que somos Drac , podemos tirar de sudo -l para buscar archivos o procesos que se ejecuten como Root y tenga el bit SUID activado

    Podemos ver que el servicio VSFTPD es un tipo de servidor FTP se ejecuta con permisos SUID , primero vamos a comprobar que el servicio este activo

    Una vez hemos comprobado que el servicio esta activo , vamos al archivo de configuracion del servicio que esta: /lib/systemd/system

    Si hacemos un cat del fichero , vamos a poder observar la configuracion que contiene

    Tiene un argumento o valor llamado "ExecStart" , donde vamos alojar el codigo malicioso para que cuando se ejecute el servicio nos cree una shell con permisos de root

    Una vez inyectado el codigo malicioso , solo tenemos que reiniciar el servicio y nos creara /bin/bash

    /bin/bash -p

    Y ya tendremos la maquina IDE recien sacada de TryHackMe explotada!